Estoy usando react-aria y react testing-library. En mi componente Button, estoy usando useButton de react-aria y uso onPress prop para pasar la función para llamar una vez que haga clic. En la prueba unitaria, solo trato de hacer clic en él para activar una función jest.fn() simple, y todo lo que hago después de eso es verificar si se ha llamado a la función.
const handleOnClick = jest.fn(); render(<Button onPress={handleOnClick}>test me</Button>); userEvent.click(screen.getByRole('button')); expect(handleOnClick).toHaveBeenCalled();Eso está mostrando la siguiente advertencia:
console.error Warning: An update to Button inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): Si envuelvo el clic con act, la advertencia desaparece, pero parece que no es una buena práctica hacerlo porque, de hecho, la biblioteca de pruebas está realizando una acción internamente en userEvent y en otros métodos. ¿Que puedo hacer? Gracias.